#selenium技术，模拟用户来点击网站
#自动化爬虫

#导入seleium的webdriver接口
from selenium import webdriver
import time

#创建浏览器对象--此时浏览器打开
web=webdriver.Chrome()

#页面最大化
web.maximize_window()

#输入百度地址并确认
web.get('https://www.jd.com/')


#用xpath来定位  层级目录一层一层找
#html/body/div[1]/div[1]//div[5]/div/div/form/span[1]/input  这是完整路径
#对于同一个html而言，id是全局唯一的，只有唯一一个id
#//input[@id='kw'] 相对路径，因为id是唯一的  //*[@id="kw"]

#定位到输入框，使用xpath
#返回输入对象
shuru=web.find_element_by_xpath('//*[@id="key"]')
shuru.send_keys("电脑")
#匹配搜素按钮并且点击
web.find_element_by_xpath('//*[@id="search"]/div/div[2]/button/i').click()  #click是点击

#让数据加载完再进行拉取
time.sleep(10)

#将下拉框拉到最底部
web.execute_script(
    'window.scrollTo(0,document.body.scrollHeight)'
)
#拉到最底部睡一会
time.sleep(3)

#获取商品列表
li_list=web.find_elements_by_xpath('//*[@id="J_goodsList"]/ul/li')  #获取每个标签文本内容
for li in li_list:
    print("====================================================================")
    #print(li)
    #print(li.text)
    #将获取的每个li里面的数据在进行获取
    price=li.find_element_by_xpath('./div/div[@class="p-price"]').text
    name = li.find_element_by_xpath('./div/div[@class="p-name p-name-type-2"]').text
    numbers = li.find_element_by_xpath('./div/div[@class="p-commit"]').text
    shopName = li.find_element_by_xpath('./div/div[@class="p-shop"]').text
    #python的拼接
    print(f"商品名称：{name}\t商品价格：{price}\t商品评价数：{numbers}\t商品店铺名：{shopName}\t")

#这只是获取一页，获取所有的，就要获取下一页的点的标志


    #print(price+" | "+name+" | "+numbers+" | "+shopName)
time.sleep(10)
#关闭浏览器
web.quit()